x86 svm: Make 32bit legacy guests boot again
authorKeir Fraser <keir.fraser@citrix.com>
Sat, 27 Jun 2009 09:33:33 +0000 (10:33 +0100)
committerKeir Fraser <keir.fraser@citrix.com>
Sat, 27 Jun 2009 09:33:33 +0000 (10:33 +0100)
commitd2c06ef63ff2df915e7f582da53ed6a51b14f028
treef7db26d4fa3624137cf52050752ab611df240612
parent4515262a97297a9fbb468ab89af745623492cb40
x86 svm: Make 32bit legacy guests boot again

Attached patch fixes a bug introduced in c/s 19648.

32bit legacy guests have the sysenter/sysexit instructions available.
Therefore, we have to disable intercepts for the sysenter MSRs or the
guest stucks in an infinite loop of #GPs, otherwise.

For guests in 64bit mode and 32bit compat mode, sysenter/sysexit
instructions aren't available. The sysenter MSRs have to be
intercepted to make the instruction emulation working.

Signed-off-by: Christoph Egger <Christoph.Egger@amd.com>
Signed-off-by: Keir Fraser <keir.fraser@citrix.com>
xen/arch/x86/hvm/svm/svm.c
xen/arch/x86/hvm/svm/vmcb.c
xen/include/asm-x86/hvm/svm/vmcb.h